package com.Servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.DataFormat;
import org.apache.poi.ss.util.CellRangeAddress;

/**
 * Servlet implementation class contractModel
 */
@WebServlet("/contractModel")
public class contractModel extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#HttpServlet()
	 */
	public contractModel() {
		super();
		// TODO Auto-generated constructor stub
	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("application/octet-stream");
		response.setCharacterEncoding("UTF-8");
		// 设置文件的名字
		response.addHeader("Content-Disposition", "attachment; filename=contactModel.xls");
		String headline = "合同信息";
		String[] title = { "合同ID", "学生编号", "中文名", "英文名", "性别", "出生日期", "课程名", "总课时", "剩余课时", "学费", "收费情况", "签约类型",
				"课程顾问", "电话顾问", "DEMO中教", "DEMO外教", "录入人员" };
		// 创建EXCEL工作簿
		HSSFWorkbook workbook = new HSSFWorkbook();
		// 创建一个工作sheet
		HSSFSheet sheet = workbook.createSheet();
		CellStyle cellStyle = workbook.createCellStyle();
		DataFormat format = workbook.createDataFormat();
		cellStyle.setDataFormat(format.getFormat("@"));
		// sheet.setDefaultColumnStyle(column, style);
		// 创建第一行
		HSSFRow row = sheet.createRow(0);
		HSSFCell cell = null;
		// 创建标题
		sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 2));
		cell = row.createCell(0);
		cell.setCellValue(headline);
		// 创建第二行
		HSSFRow rowtitle = sheet.createRow(1);
		// 插入第二行title
		for (int i = 0; i < title.length; i++) {
			sheet.setDefaultColumnStyle(i, cellStyle);
			sheet.setColumnWidth(i, 20* 256);//设置好cell的宽度
			cell = rowtitle.createCell(i);
			cell.setCellValue(title[i]);
		}
		// 追加数据,1先从数据库中获取结果集并且放到LIST中，然后一行一行地放入
		workbook.write(response.getOutputStream());

		// //创建一个文件
		// File file = new File("/Users/duyifan/Desktop/contractModel.xls");
		//
		// try {
		// file.createNewFile();
		// //将EXCELL内容存盘
		// FileOutputStream stream = FileUtils.openOutputStream(file);
		// workbook.write(stream);
		// stream.close();
		// } catch (IOException e) {
		// // TODO Auto-generated catch block
		// e.printStackTrace();
		// }

		// PrintWriter writer = response.getWriter();
		//
		// writer.write(workbook);
		//
		// writer.flush();
	}

}
